java8 流处理字符串

您所在的位置:网站首页 csvwriter只给有逗号的字段加引号 java java8 流处理字符串

java8 流处理字符串

2023-08-16 05:13| 来源: 网络整理| 查看: 265

大多数情况下,我们会遇到需要迭代Java Collection并基于一些业务进行过滤的场景。使用传统方式实现需要使用大量循环和判断操作才能获得期望结果。

java 8 引入新的Stream api,方便我们使用声明方式处理数据。本文我们将说明如何使用Stream api分割逗号分割字符串至list,以及如何连接字符串数组、list至逗号分割字符串;

下面大体写了下实验代码,有点简单,但是能说明问题!不熟悉lambda表达式的建议同学可以参考前面几篇文章,了解下,不然看起来可能有点懵;

分割逗号分割字符串至list String string = "a,bbb,ss,,s"; System.out.println("--------字符串以“,”切分(普通模式)---------"); for (String str : string.split(",")) { System.out.println(str); } System.out.println("--------字符串以“,”切分(流处理)---------"); Stream.of(string.split(",")).forEach(System.out::println);

运行结果为:

切分字符串一样的结果,代码量也没有少多少好像?  别急这里还没有将其加入到list中,加入后代码如下:

String string = "a,bbb,ss,,s"; System.out.println("--------字符串以“,”切分(普通模式)---------"); ArrayList list = new ArrayList(); for (String str : string.split(",")) { list.add(str); } System.out.println("--------字符串以“,”切分(流处理)---------"); List collect = Stream.of(string.split(",")).collect(Collectors.toList());

一行代码就可以搞定了,恩,又能少写代码了,哈哈;

连接字符串数组、list至逗号分割字符串 List asList = Arrays.asList("a", "ss", "", "s", ""); System.out.println("---------list遍历后以“,”分隔(普通模式)----------"); StringBuffer resultBuffer = new StringBuffer(); for (int i = 0; i < asList.size(); i++) { String result = asList.get(i); if (i == 0) { resultBuffer.append(result); } else { resultBuffer.append("," + result); } } String testResult = resultBuffer.toString(); //System.out.println(testResult); System.out.println("---------list遍历后以“,”分隔(流模式)----------"); String collect2 = asList.stream().collect(Collectors.joining(",")); //System.out.println(collect2);

运行后结果如下:

是不是更加开心了,又是一行代码搞定。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3